发布周期

从v1.10.0版本开始,crossplane以每季度(13周)为周期进行发布。 一个周期包括三个一般阶段:

因此,每年有四个发布版本,在任何时候都会维护最近的三个发布版本。 当一个新的发布版本被砍掉时,最近的第四个发布版本就到了生命周期的终点(EOL)。 用户可以预期任何给定的发布版本都会维护九个月。

维护的定义

crossplane 社区对维护的定义是,合并到主开发分支的相关错误修复将有资格反向移植到任何当前维护版本的发布分支,补丁发布也将进行适当的删减。 如果修复在主开发分支不再适用,也有可能直接合并到发布分支。 维护并不表示对以 Slack 消息或问题形式提供的用户支持的响应时间有任何 SLA,但对于当前维护的发布版本,维护者和贡献者将尽最大努力解决问题。

补丁发布

本政策今后可能会有变动。

补丁发布会根据需要对当前维护的次要版本进行裁剪。 任何关键的回传修复都会在合并后尽快纳入补丁发布。

预发布

本政策今后可能会有变动。

Alpha 版、Beta 版和 RC 版会根据需要为即将发布的版本剪切。 作为一项政策,在发布任何次要版本之前,至少会剪切一个预发布版本。 预发布版本不会在发布分支上发布。

发布 Provider

Crossplane 发布周期并不要求任何其他 Crossplane 项目遵循,但我们鼓励采用类似的发布周期。 在每个版本库的 OWNERS.md 文件中列出的维护者负责确定并发布其项目的发布周期。

发布阶段

以下阶段是 crossplane 发布的主要里程碑。

积极开发

在积极开发过程中,任何符合必要条件(即通过适当测试、获得维护者批准等)的代码都将被合并到主开发分支。 目前,没有要求在发布周期开始前正式提交增强建议,但我们鼓励贡献者在开始主要实现工作之前,先打开一个问题并收集反馈(更多信息请参阅 CONTRIBUTING.md)。

功能冻结

在功能冻结期间,不得将任何新功能合并到主开发分支中。 可以进行错误修复、文档修改和非关键修改。 如果认为某项新功能对于发布绝对必要,则 crossplane 维护者将权衡该修改的影响,并决定是否将其纳入。

代码冻结

代码冻结期间,除以下例外情况外,不得将任何更改合并到主开发分支:

  • 修复被视为错误测试功能的失败测试。
  • 仅更改文档。将来可能会实施文档冻结,但目前并未强制执行。
  • 修复之前未发现的关键错误。在代码冻结期间合并错误修复,需要向 crossplane 维护者申请例外并获得批准。这一流程目前是非正式的,但将来可能会正式化。

发布日期

crossplane 每季度发布一次(每 13 周发布一次)。通常情况下,发布时间为该季度最后一周的周二,如社区日历所示。请注意,具体日期只是***近似值。很多因素都会稍微改变日期,例如代码审查、测试和错误修复,以确保发布质量。